package com.hui.stock.mapper;

import com.hui.stock.pojo.entity.SysRole;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author ymh
* @description 针对表【sys_role(角色表)】的数据库操作Mapper
* @createDate 2024-11-11 16:04:25
* @Entity com.hui.stock.pojo.entity.SysRole
*/
public interface SysRoleMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SysRole record);

    int insertSelective(SysRole record);

    SysRole selectByPrimaryKey(Long id);

    /**
     * 通过id列表批量获取角色
     * @param ids 角色id列表
     * @return
     */
    List<SysRole> batchSelectByPrimaryKey(@Param("ids") List<Long> ids);

    int updateByPrimaryKeySelective(SysRole record);

    int updateByPrimaryKey(SysRole record);

    /**
     * 根据用户id获取角色id
     * @param id 用户id
     * @return
     */
    List<Long> getRoleIds(@Param("id") Long id);

    /**
     * 获取所有可用的角色
     * @return
     */
    List<SysRole> getAllRoles();

    /**
     * 获取所有角色
     * @return
     */
    List<SysRole> getRolePageInfo();

    /**
     * 根据角色名称删除角色
     * @param name
     * @return
     */
    SysRole selectByName(@Param("name") String name);
}
